import mods.modularmachinery.RecipePrimer;
import mods.modularmachinery.RecipeBuilder;
import crafttweaker.item.IItemStack;
import crafttweaker.item.IIngredient;
import crafttweaker.liquid.ILiquidStack;
import crafttweaker.oredict.IOreDict;
import crafttweaker.oredict.IOreDictEntry;
import crafttweaker.data.IData;

// AE Crystals. Don't Change This!
val certusDict = <ore:certusQuartz>;
certusDict.add(<appliedenergistics2:material>,<appliedenergistics2:material:1>,<appliedenergistics2:material:10>);
val netherDict = <ore:netherQuartz>;
netherDict.add(<minecraft:quartz>,<appliedenergistics2:material:11>);
val fluixDict = <ore:fluixQuartz>;
fluixDict.add(<appliedenergistics2:material:7>,<appliedenergistics2:material:12>);

// Quartz Fiber
RecipeBuilder.newBuilder("ae_assemble_quartzfiber","appiled_assembler",20).
addItemInput(<appliedenergistics2:material:3>*1).
addItemInput(<minecraft:glass>*2).
addEnergyPerTickInput(20).
addItemOutput(<appliedenergistics2:material:140>*8).
build();

// ME Glass Cable - Fluix
RecipeBuilder.newBuilder("ae_assemble_gcfluix","applied_assembler",20).
addItemInput(<appliedenergistics2:part:140>*2).
addItemInput(<ore:fluixQuartz>*1).
addEnergyPerTickInput(30).
addItemOutput(<appliedenergistics2:part:16>*4).
build();

// Formation Core
RecipeBuilder.newBuilder("ae_assemble_formcore","applied_assembler",30).
addItemInput(<ore:certusQuartz>*1).
addItemInput(<appliedenergistics2:material:8>*2).
addItemInput(<appliedenergistics2:material:22>*1).
addEnergyPerTickInput(50).
addItemOutput(<appliedenergistics2:material:43>*1).
build();

// Annihilation Core
RecipeBuilder.newBuilder("ae_assemble_annicore","applied_assembler",30).
addItemInput(<ore:netherQuartz>*1).
addItemInput(<appliedenergistics2:material:8>*2).
addItemInput(<appliedenergistics2:material:22>*1).
addEnergyPerTickInput(50).
addItemOutput(<appliedenergistics2:material:44>*1).
build();

// Inscriber
RecipeBuilder.newBuilder("ae_assemble_inscriber","applied_assembler",40).
addItemInput(<extendedcrafting:material:2>*4).
addItemInput(<appliedenergistics2:sky_stone_block>*2).
addItemInput(<minecraft:piston>*2).
addItemInput(<appliedenergistics2:material:7>*1).
addEnergyPerTickInput(50).
addItemOutput(<appliedenergistics2:inscriber>*1).
build();

// Energy Acceptor
RecipeBuilder.newBuilder("ae_assemble_energyacceptor","applied_assembler",40).
addItemInput(<minecraft:iron_ingot>*4).
addItemInput(<appliedenergistics2:quartz_glass>*4).
addItemInput(<ore:fluixQuartz>*4).
addEnergyPerTickInput(100).
addItemOutput(<appliedenergistics2:energy_acceptor>*1).
build();

// Crystal Growth Accelerator
RecipeBuilder.newBuilder("ae_assemble_crysgrowaccl","applied_assembler",40).
addItemInput(<minecraft:iron_ingot>*4).
addItemInput(<appliedenergistics2:part:16>*2).
addItemInput(<appliedenergistics2:quartz_glass>*2).
addItemInput(<appliedenergistics2:material:7>*8).
addEnergyPerTickInput(100).
addItemOutput(<appliedenergistics2:quartz_growth_accelerator>*1).
build();

// ME Controller
RecipeBuilder.newBuilder("ae_assemble_mecontroller","applied_assembler",80).
addItemInput(<appliedenergistics2:sky_stone_block>*4).
addItemInput(<appliedenergistics2:material:24>*2).
addItemInput(<appliedenergistics2:material:12>*6).
addEnergyPerTickInput(120).
addItemOutput(<appliedenergistics2:controller>*1).
build();

// ME Drive
RecipeBuilder.newBuilder("ae_assemble_medrive","applied_assembler",80).
addItemInput(<thermalfoundation:material:352>*4).
addItemInput(<appliedenergistics2:part:16>*2).
addItemInput(<appliedenergistics2:material:24>*2).
addItemInput(<appliedenergistics2:material:39>*1).
addEnergyPerTickInput(150).
addItemOutput(<appliedenergistics2:drive>*1).
build();

// ME Chest
RecipeBuilder.newBuilder("ae_assemble_mechest","applied_assembler",80).
addItemInput(<thermalfoundation:material:352>*4).
addItemInput(<appliedenergistics2:part:16>*2).
addItemInput(<appliedenergistics2:quartz_glass>*2).
addItemInput(<ore:fluixQuartz>*2).
addItemInput(<minecraft:chest>*1).
addEnergyPerTickInput(150).
addItemOutput(<appliedenergistics2:chest>*1).
build();

// Molecular Assembler
RecipeBuilder.newBuilder("ae_assemble_moleassem","applied_assembler",60).
addItemInput(<appliedenergistics2:quartz_glass>*1).
addItemInput(<thermalfoundation:material:32>*2).
addItemInput(<minecraft:crafting_table>*1).
addItemInput(<appliedenergistics2:material:43>*1).
addItemInput(<appliedenergistics2:material:44>*1).
addEnergyPerTickInput(120).
addItemInput(<appliedenergistics2:molecular_assembler>*1).
build();

// ME Interface
RecipeBuilder.newBuilder("ae_assemble_meinterface","applied_assembler",60).
addItemInput(<thermalfoundation:material:32>*2).
addItemInput(<minecraft:glass>*4).
addItemInput(<minecraft:hopper>*2).
addItemInput(<appliedenergistics2:material:43>*1).
addItemInput(<appliedenergistics2:material:44>*1).
addEnergyPerTickInput(100).
addItemInput(<appliedenergistics2:interface>*1).
build();

// ME Fluid Interface
RecipeBuilder.newBuilder("ae_assemble_mefinterface","applied_assembler",60).
addItemInput(<thermalfoundation:material:32>*2).
addItemInput(<minecraft:dye:4>*4).
addItemInput(<minecraft:bucket>*5).
addItemInput(<appliedenergistics2:material:43>*1).
addItemInput(<appliedenergistics2:material:44>*1).
addEnergyPerTickInput(100).
addItemOutput(<appliedenergistics2:fluid_interface>*1).
build();

// ME Terminal
RecipeBuilder.newBuilder("ae_assemble_meterminal","applied_assembler",40).
addItemInput(<ore:itemIlluminatedPanel>*1).
addItemInput(<appliedenergistics2:material:43>*1).
addItemInput(<appliedenergistics2:material:44>*1).
addItemInput(<appliedenergistics2:material:22>*1).
addItemInput(<ore:fluixQuartz>*1).
addEnergyPerTickInput(120).
addItemOutput(<appliedenergistics2:part:380>*1).
build();
